package com.example.s09thymeleaf.controller;

import com.example.s09thymeleaf.entity.Student;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
//@RequestMapping//当有父路径时，访问下面方法是必须输入 父路径+子路径
public class DataController{
    @GetMapping("/object")
    public String showObject(Model model){
        Student student=new Student("张三",20);
        model.addAttribute("stu",student);
        return "object";
    }
    @PostMapping("/submit")//注意这里是PostMapping,因为前端网页form的method="post"
    @ResponseBody//该注解的作用是把方法的返回值直接显示在浏览器上，而不是跳转到某一个页面
    public String submit(String name,int age){
        //该方法的参数名称必须跟form中表单元素的name属性值一致
        String msg="姓名"+ name+"，年龄"+age;
        return  msg;
    }

    @GetMapping("/image")
    public String showImage(Model model) {
//        <!-- 注意路径问题：
//        如果路径是以/开头，表示在项目根目录上查找资源。
//        如果没有以/开头，表示在项目当前目录上查找资源
//                -->
        model.addAttribute("imageUrl","image/01.jpg");
        model.addAttribute("webUrl","https://www.baidu.com/");
        return "image";
    }
    @PostMapping("input")
    public  String showInput(Model model,Student student){
        student.setAge(20);
        student.setName("张三");
        model.addAttribute("stu",student);
        return "input";
    }
    @RequestMapping("/href")
    @ResponseBody
    public  String show(String name,int age){
        //参数值要跟请求路径的参数名称一致
        String msg="姓名"+ name+"，年龄"+age;
        return  msg;
    }
}
